<?php namespace Admin\Controller;
//分类控制器
class CateController extends CommonController{
	private $model;
	protected function __auto(){
		$this->model=new \Common\Model\Cate;
	}
	//显示
	public function index(){
		$data=$this->model->join('type','shop_type_tid','=','tid')
						  ->orderBy('sort','DESC')
						  ->get();
		//变为树状结构，通过pid对表中的数据进行无限极分类
		$data=Data::tree($data,'cname','cid','pid');
		View::with('data',$data);
	    View::make();
	}
	//添加父级分类
	public function add(){
		if(IS_POST){
			if(!$this->model->store()) View::error($this->model->getError());
			View::success("添加成功",U('index'));
		}
		$type=Db::table('type')->get();
		View::with('type',$type);	
	    View::make();
	}
	//添加子分类
	public function addSon(){
		if(IS_POST){
			if(!$this->model->store()) View::error($this->model->getError());
			View::success("添加成功",U('index'));
		}
		$cid=Q('get.cid',0,'intval');
		//查询cid=$cid的父级数据，并输出
		$cate=$this->model->where("cid='{$cid}'")->find();
		$tid=$cate['shop_type_tid'];
		$type=Db::table('type')->where("tid='{$tid}'")->get();
		View::with('type',$type);
		View::with('cate',$cate);
	    View::make();
	}
	//编辑分类
	public function edit(){
		if(IS_POST){
			//p(Q('post.'));die;
			if(!$this->model->edit()) View::error($this->model->getError());
			View::success("修改成功",U('index'));
		}
		$cid=Q('get.cid',0,'intval');
		//查询cid=$cid的旧数据
		$oldData=$this->model
					  ->join('type','shop_type_tid','=','tid')
					  ->where("cid='{$cid}'")->find();
		//获取类型数据
		$type=Db::table('type')->get();
		//查询除自己和自己子类的数据，变为树状结构
		$cateData=Data::tree($this->model->getNoMy($cid),'cname');	
		//p($cateData);p($oldData);
		View::with('oldData',$oldData);
		View::with('type',$type);		
		View::with('cateData',$cateData);	 
	    View::make();
	}
	//删除
	public function del(){
		$cid=Q('get.cid',0,'intval');
		//子分类上移
		//先查找当前分类的父级id
		$pid=$this->model->where("cid='{$cid}'")->pluck('pid');
		//当前分类下子类父级id上移
		$this->model->where("pid='{$cid}'")->update(array('pid'=>$pid));
		//删除当前cid分类
		$this->model->where("cid='{$cid}'")->delete();
		View::success("删除成功",U('index'));
	}
} 
 ?>